package com.tiger.project.domain;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.tiger.common.annotation.Excel;
import com.tiger.common.core.domain.BaseEntity;
import lombok.Data;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;


/**
 * 缴款/到账 记录对象 pay_info
 *
 * @author standard
 * @date 2022-12-08
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "pay_info对象", description = "缴款/到账 记录内容")
public class PayInfo extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * $column.columnComment
     */
    private Long id;

    /**
     * 开票申请id （账期id）
     */
    @Excel(name = "开票申请id ", readConverterExp = "账=期id")
    @ApiModelProperty(value = "开票申请id ")
    private Long billId;

    /**
     * 收款类型 1-缴款  2-到账
     */
    @Excel(name = "收款类型 1-缴款  2-到账")
    @ApiModelProperty(value = "收款类型 1-缴款  2-到账")
    private Long payType;

    /**
     * 缴款/到账 金额
     */
    @Excel(name = "缴款/到账 金额")
    @ApiModelProperty(value = "缴款/到账 金额")
    private BigDecimal payMoney;

    /**
     * 缴款/到账 凭证号
     */
    @Excel(name = "缴款/到账 凭证号")
    @ApiModelProperty(value = "缴款/到账 凭证号")
    private String payNumber;

    /**
     * 缴款/到账  日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "缴款/到账  日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "缴款/到账  日期")
    private Date payTime;

    /**
     * 缴款/到账  备注
     */
    @Excel(name = "缴款/到账  备注")
    @ApiModelProperty(value = "缴款/到账  备注")
    private String payRemark;

    /**
     * 缴款/收款 人id
     */
    @Excel(name = "缴款/收款 人id")
    @ApiModelProperty(value = "缴款/收款 人id")
    private Long payId;

    /**
     * 缴款/收款 人名称
     */
    @Excel(name = "缴款/收款 人名称")
    @ApiModelProperty(value = "缴款/收款 人名称")
    private String payName;

    @ApiModelProperty(value = "缴款/到账 附件集合")
    private List<PayInfoEnclosure> payInfoEnclosureList = new ArrayList<>();


}
